// ============================== 导入依赖 ============================== //

// ============================== 导出路由工具 ============================== //

export default {
  /**
   * 路由拦截
   */
  routeBeforeEach() {
    myBeforeEach(this)
  },
}

// ============================== 内部方法 ============================== //

const myBeforeEach = (CORE) => {
  CORE.ROUTE.router.beforeEach((to, from, next) => {
    if (sessionStorage.TOKEN) {
      // 检查是否存在名称免检
      if (CORE.ROUTE.NAME_PASS.includes(to.name)) next()
      // 检查是否存在名称转换
      else if (CORE.ROUTE.NAME_TRANS[to.name]) next({ name: CORE.ROUTE.NAME_TRANS[to.name] })
      // 检查是否在菜单权限内
      else if (CORE.MENU.ROUTE[to.meta.menu || to.name]) next()
      // 跳转首页
      else next({ name: 'NotFound' })
    }
  })
}
